#pragma once

//typedef void (*ShowInterfaceCb)(struct _LinphoneCore *lc);
//typedef void (*InviteReceivedCb)(struct _LinphoneCore *lc, const char *from);
//typedef void (*ByeReceivedCb)(struct _LinphoneCore *lc, const char *from);
//typedef void (*DisplayStatusCb)(struct _LinphoneCore *lc, const char *message);
//typedef void (*DisplayMessageCb)(struct _LinphoneCore *lc, const char *message);
//typedef void (*DisplayUrlCb)(struct _LinphoneCore *lc, const char *message, const char *url);
//typedef void (*DisplayQuestionCb)(struct _LinphoneCore *lc, const char *message);
//typedef void (*LinphoneCoreCbFunc)(struct _LinphoneCore *lc,void * user_data);
//typedef void (*NotifyReceivedCb)(struct _LinphoneCore *lc, LinphoneFriend * fid, const char *url, const char *status, const char *img);
//typedef void (*NewUnknownSubscriberCb)(struct _LinphoneCore *lc, LinphoneFriend *lf, const char *url);
//typedef void (*AuthInfoRequested)(struct _LinphoneCore *lc, const char *realm, const char *username);
//typedef void (*CallLogUpdated)(struct _LinphoneCore *lc, struct _LinphoneCallLog *newcl);
//typedef void (*TextMessageReceived)(struct _LinphoneCore *lc, LinphoneChatRoom *room, const char *from, const char *message);
//typedef void (*GeneralStateChange)(struct _LinphoneCore *lc, LinphoneGeneralState *gstate);
//typedef void (*DtmfReceived)(struct _LinphoneCore* lc, int dtmf);

struct ISoapEventSink
{
	//ShowInterfaceCb show;
	virtual void InviteReceived(const char *from){}
	virtual void ByeReceived(const char *from){}
	//void NotifyReceived() = 0;
	//void NewUnknownSubscriber() = 0;
	virtual void AuthInfoRequested(const char *realm, const char *username){}
	//	DisplayStatusCb display_status;
	//	DisplayMessageCb display_message;
	//#ifdef VINCENT_MAURY_RSVP
	//	/* the yes/no dialog box */
	//	DisplayMessageCb display_yes_no;
	//#endif
	//	DisplayMessageCb display_warning;
	//	DisplayUrlCb display_url;
	//	DisplayQuestionCb display_question;
	//	CallLogUpdated call_log_updated;
	//	TextMessageReceived text_received;

	//void GeneralStateChange() = 0;
	virtual void DtmfReceived(int nDtmf){}
} ;

